User-defined system-enforced session termination in a unified telephony environment

ABSTRACT

Enforcing user-defined real-time communication session terminations can begin with a termination enforcement handler identifying termination conditions applicable to a real-time communication session hosted by a unified telephony system. The termination conditions can define a limit for an operational variable for the unified telephony system or the real-time communication session. The identified termination conditions can be evaluated. If a termination condition is satisfied, it can be determined which participants are to be disconnected from the real-time communication session based upon handling rules for the termination conditions and/or termination preferences associated with the real-time communication session. The termination preferences can be defined by an initiating entity of the real-time communication session. The participants can be notified that their connection to the real-time communication session will be terminated in a predefined time limit. If the predefined time limit is reached, the participants&#39; connection to the real-time communication session can be automatically terminated.

BACKGROUND

The present invention relates to the field of unified telephonycomputing and, more particularly, to user-defined system-enforcedsession termination in a unified telephony environment.

Unified telephony systems provide an organization with a single solutionthat encompasses a wide variety of real-time communication media (e.g.,instant messaging, telephone access using voice over Internet protocol(VoIP), online collaboration, video conferencing, etc.).

BRIEF SUMMARY

One aspect of the present invention can include a method for enforcinguser-defined real-time communication session terminations. Such a methodcan begin with a termination enforcement handler identifying terminationconditions applicable to a real-time communication session hosted by aunified telephony system. The termination conditions can define a limitfor an operational variable for the unified telephony system or thereal-time communication session. The identified termination conditionscan then be evaluated. If at least one termination condition issatisfied, it can be determined which participants are to bedisconnected from the real-time communication session based uponhandling rules for the termination conditions and/or terminationpreferences associated with the real-time communication session. Thetermination preferences can be defined by an initiating entity of thereal-time communication session. The participants can be notified thattheir connection to the real-time communication session will beterminated in a predefined time limit. If the predefined time limit isreached, the participants' connection to the real-time communicationsession can be automatically terminated.

Another aspect of the present invention can include a system forenforcing user-defined real-time communication session terminations.Such a system can include a unified telephony system, a terminationspecification, and a termination enforcement handler. The unifiedtelephony system can provide participants with real-time communicationsessions. The termination specification can define the termination of anentire real-time communication session or one or more participants of areal-time communication session. Termination can be based upon auser-defined limit to the operating state of the unified telephonysystem. The termination enforcement handler can be configured to performthe termination as defined in the termination specification.Participants affected by the termination can be provided a predeterminedamount of time prior to the termination.

Yet another aspect of the present invention can include a computerprogram product that includes a computer readable storage medium havingembedded computer usable program code. The computer usable program codecan be configured to identify termination conditions applicable to areal-time communication session hosted by a unified telephony system.The termination conditions can define a limit for an operationalvariable for the unified telephony system and/or the real-timecommunication session. The computer usable program code can beconfigured to evaluate the termination conditions. If a terminationcondition is satisfied, the computer usable program code can beconfigured to determine participants to disconnect from the real- timecommunication session based upon handling rules associated with thetermination condition and/or termination preferences associated with thereal-time communication session. The termination preferences can bedefined by an initiating entity of the real- time communication session.Then, the computer usable program code can be configured to notify theparticipants of the termination of their connection to the real-timecommunication session in a predefined time limit. If the predefined timelimit is reached, the computer usable program code can be configured toautomatically terminate the connection of the participants to thereal-time communication session.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

FIG. 1 is a flow chart of a method detailing an overview of theenforcement of user-defined session terminations in a unified telephonyenvironment by a termination enforcement handler in accordance withembodiments of the inventive arrangements disclosed herein.

FIG. 2 is a flow chart of a method illustrating the use of thetermination enforcement handler to enforce session terminations basedupon scheduled calendar events in accordance with an embodiment of theinventive arrangements disclosed herein.

FIG. 3 is a flow chart of a method describing the use of corporatehierarchy data by a termination enforcement handler in accordance withan embodiment of the inventive arrangements disclosed herein.

FIG. 4 is a flow chart of a method describing the enforcement ofmoderator-initiated termination of participants from a real-timecommunication session by the termination enforcement handler inaccordance with embodiments of the inventive arrangements disclosedherein.

FIG. 5 is a schematic diagram illustrating a system implementing theenforcement of user-defined session terminations in a unified telephonysystem by a termination enforcement handler in accordance withembodiments of the inventive arrangements disclosed herein.

DETAILED DESCRIPTION

While performing activities in unified telephony systems, users aretypically unaware of other impending events that should or will affecttheir session unless they constantly monitor other software applicationsor systems.

For example, a user working on a document in an online collaborationsession is easily caught unaware that the collaboration server is beingtaken down for maintenance if they are not monitoring a maintenanceschedule or a specifically contacted. Thus, if the server is shut down,the user loses their work.

Attempts to solve this problem place the burden of schedule knowledgeupon the user. That is, it is up to the user to track the resources thatthey use and a current availability state of these resources. While suchapproaches work fine for scheduled outages, they do not accommodateoutages that occur as a result of the dynamic nature of the unifiedtelephony system and underlying network.

For example, heavy attendance for an online meeting degrades the overallperformance of the unified telephony system. In order to meetpredetermined performance levels, a system administrator simplydisconnects participants from their sessions in the unified telephonysystem.

Disconnected users may not be provided any warning. Users may bedisconnected arbitrarily or according to a variety of internal notes.Conventional unified telephony systems lack the ability to handle thesession terminations in a graceful manner and adjust the order in whichusers should be terminated based upon user-configured parameters.

The disclosure provides a solution for enforcing a graceful terminationof user's connection to a real-time communication session hosted by aunified telephony system. A termination enforcement handler can utilizea termination specification to determine at what time and in what ordersessions and/or session connections are to be terminated. Participantsaffected by the termination can then be given a predetermined amount oftime before termination (i.e., save documents, finish a conversation).During this time, the affected participants can be reminded bytermination notifications.

As will be appreciated by one skilled in the art, aspects of the presentinvention may be embodied as a system, method or computer programproduct. Accordingly, aspects of the present invention may take the formof an entirely hardware embodiment, an entirely software embodiment(including firmware, resident software, micro-code, etc.) or anembodiment combining software and hardware aspects that may allgenerally be referred to herein as a “circuit,” “module” or “system.”Furthermore, aspects of the present invention may take the form of acomputer program product embodied in one or more computer readablemedium(s) having computer readable program code embodied thereon.

Any combination of one or more computer readable medium(s) may beutilized. The computer readable medium may be a computer readable signalmedium or a computer readable storage medium. A computer readablestorage medium may be, for example, but not limited to, an electronic,magnetic, optical, electromagnetic, infrared, or semiconductor system,apparatus, or device, or any suitable combination of the foregoing. Morespecific examples (a non-exhaustive list) of the computer readablestorage medium would include the following: an electrical connectionhaving one or more wires, a portable computer diskette, a hard disk, arandom access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM or Flash memory), an optical fiber,a portable compact disc read-only memory (CD-ROM), an optical storagedevice, a magnetic storage device, or any suitable combination of theforegoing. In the context of this document, a computer readable storagemedium may be any tangible medium that can contain, or store a programfor use by or in connection with an instruction execution system,apparatus, or device.

A computer readable signal medium may include a propagated data signalwith computer readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer readable signal medium may be any computer readable medium thatis not a computer readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus, or device.

Program code embodied on a computer readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fiber cable, RF, etc., or any suitable combination ofthe foregoing. Computer program code for carrying out operations foraspects of the present invention may be written in any combination ofone or more programming languages, including an object orientedprogramming language such as Java, Smalltalk, C++ or the like andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The program codemay execute entirely on the user's computer, partly on the user'scomputer, as a stand-alone software package, partly on the user'scomputer and partly on a remote computer or entirely on the remotecomputer or server. In the latter scenario, the remote computer may beconnected to the user's computer through any type of network, includinga local area network (LAN) or a wide area network (WAN), or theconnection may be made to an external computer (for example, through theInternet using an Internet Service Provider).

Aspects of the present invention are described below with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems) and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer program instructions. These computer program instructions maybe provided to a processor of a general purpose computer, specialpurpose computer, or other programmable data processing apparatus toproduce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create means for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in a computerreadable medium that can direct a computer, other programmable dataprocessing apparatus, or other devices to function in a particularmanner, such that the instructions stored in the computer readablemedium produce an article of manufacture including instructions whichimplement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer,other programmable data processing apparatus, or other devices to causea series of operational steps to be performed on the computer, otherprogrammable apparatus or other devices to produce a computerimplemented process such that the instructions which execute on thecomputer or other programmable apparatus provide processes forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

FIG. 1 is a flow chart of a method 100 detailing an overview of theenforcement of user-defined session terminations in a unified telephonyenvironment by a termination enforcement handler in accordance withembodiments of the inventive arrangements disclosed herein.

Method 100 can begin in step 105 where the termination enforcementhandler can detect the instantiation of a real-time communicationsession within the UT environment. The unified telephony environment canrepresent a communications system that integrates multiple types ofreal-time communications media into a unified user interface like LOTUSSAMETIME UNIFIED TELEPHONY.

Examples of real-time communication sessions can include, but are notlimited to, telephone calls (e.g., integrated land line connections,softphones using voice over Internet protocol (VoIP)), instant messagingsessions, chat rooms, online collaboration sessions, online meetings,and the like.

Termination conditions applicable to the detected real-timecommunication session and its participants can be identified in step110. Termination conditions can represent user-defined variablespertaining to the individual participants, session, and/or the unifiedtelephony environment that represent conditions under which participantconnections to a real-time communication session or the entire real-timecommunication session should be terminated.

Termination conditions can be written for various levels of granularitywithin the unified telephony environment. For example, systemadministrators can define termination conditions based upon the overalloperating state of the unified telephony environment, whereas a sessionmoderator or initiator can define termination conditions specific totheir real-time communication session.

In step 115, it can be determined if data is needed from other systemsto evaluate the identified termination conditions. For example, atermination condition can be based upon a whether a participant has ascheduled event that overlaps or occurs immediately after the scheduleend time of the real-time communication session. In such a situation,the termination enforcement handler can require data from an eventscheduling or calendar system.

If data from another system is required, the data can be obtained fromthe corresponding system in step 120. Upon completion of step 120 orshould data is not required from another system, step 125 can executewhere the termination conditions can be evaluated.

The satisfaction of any of the termination conditions can be determinedin step 130. If none of the termination conditions have been satisfied,flow can proceed to step 135 where the values corresponding to theapplicable termination conditions of the unified telephony environmentcan be monitored.

For example, should a termination condition be based upon the totalnumber of active sessions in the unified telephony environment, thetermination enforcement handler would monitor the system variablerepresenting that value.

It should be noted that it is assumed in method 100 that termination ofthe real-time communication session by the participants (i.e., allparticipants hang-up the phone) automatically terminates any activities(e.g., the monitoring of step 135) being performed by the terminationenforcement handler for that real-time communication session.

In step 140, it can be determined if a change in a value being monitoredhas been detected. If a value change is not detected, flow returns tostep 135 to continue monitoring the unified telephony environment, whichwill continue until a change is detected or the real-time communicationsession is terminated.

If a value change is detected, the new value can be captured in step145. From step 145, flow can return to step 125 where the terminationcondition can be re-evaluated using the new value and progress throughmethod 100.

If a termination condition for the real-time communication session isdetermined to be satisfied in step 130, the termination enforcementhandler can execute the corresponding handling rules in step 150. Thehandling rules can represent configurable options pertaining to how thesession terminations are performed.

For example, should the termination enforcement handler determine thatfour participants need to be terminated from a specific real-timecommunication session, the handling rules for the session (defined bythe moderator/initiator and/or system administrator) can indicate thatparticipants should be terminated based upon attendance order (i.e.,last in, first out) and that participants identified as “management”(i.e., through use of an organizational directory) should not beterminated.

Performance of step 150 can include steps such as those shown in thedashed box. The termination enforcement handler can determine theparticipants affected by the termination conditions as well as thefrequency at which the affected participants will be notified of theirimpending termination in step 155.

While it is the purpose of the termination enforcement handler toenforce session terminations, it should be emphasized that theseterminations can be performed in a controlled manner. That is, thesessions of the affected participants are not immediately terminatedwithout warning; the participants can be provided a set amount of timein which they can wrap up their discussion before their session isterminated.

In step 160, a termination timer can be started for the affectedparticipants. The termination timer can be set for a predetermined timethat represents the amount of time till the affected participants'sessions are terminated.

A termination notification can be generated in step 165. The terminationnotification can correspond to the types of real-time communicationsessions being terminated. As such, multiple termination notificationsmay be generated in step 165 at a time that participants of differenttypes of real-time communication sessions are being terminated.

In step 170, the termination notification can be sent to the affectedparticipants according to the notification frequency. For example, thetermination notification can be sent to the affected participants everytwo minutes, reminding them of the impending termination of theirsession.

Responsive to the termination timer expiring, the sessions of theaffected participants can be terminated in step 175. Execution of step175 can include the termination of an entire session, at a time whereall the participants of that session are affected or the session itselfis identified for termination, or termination of only the sessionconnection of the affected participants, at a time where the entirety ofthe session is not to be terminated.

FIG. 2 is a flow chart of a method 200 illustrating the use of thetermination enforcement handler to enforce session terminations basedupon scheduled calendar events in accordance with embodiments of theinventive arrangements disclosed herein. Method 200 can represent aspecific embodiment of method 100.

Method 200 can begin in step 205 where the termination enforcementhandler can obtain calendar information for participants of a real-timecommunication session. It can be determined in step 210 if a scheduledevent exists for a participant within a predefined time frame.

For example, the termination enforcement handler can assess the calendarinformation to determine if any participant has a scheduled event thatoccurs during, immediately after, and/or within thirty minutes after thescheduled end of the real-time communication session. If the real-timecommunication session is of a type that does not have a scheduled endtime (e.g., chat room, instant messaging session), the current time canbe used as the reference point (i.e., scheduled events within the nextthirty minutes from now).

If a scheduled event does not exist for a participant within thepredefined time frame, step 215 can execute where a recheck of thecalendar information can be scheduled to be performed at a later time,if the real-time communication session is still active. From step 215,method 200 can return to step 205 to repeat the analysis of the calendarinformation at the later time in which the real-time communicationsession is still active.

For example, the calendar information can be rechecked at the scheduledend time of an online meeting, if the meeting is running long.

If a scheduled event does exist for a participant, step 220 can beperformed where the participants affected by the scheduled event can beidentified. In step 225, it can be determined if the real-timecommunication session is still active at a predetermined time before thestart of the scheduled event.

If the session is no longer active, termination activity for theaffected participant by the termination enforcement handler can cease instep 230. If the session is still active, step 235 can execute where thepresence of the affected participants in the session can be determined.

If the affected participants are no longer connected to the real-timecommunication session, method 200 can flow to step 2350 wheretermination activity for the affected participant can cease. If theaffected participants are still connected to the session, thetermination time for the affected participants can be started in step240.

In step 245, a termination notification can be generated for thescheduled event. Step 245 can allow for the termination notification tobe dynamically tailored to include the details of the scheduled event asthey pertain to each participant.

For example, a participant have a board meeting would receive atermination notification with the details of the upcoming board meeting,whereas the termination notification for a participant having anupcoming training class would reflect the details of the training class.

In this example, the termination timer can be set for the predeterminedtime before the start of the scheduled event. For example, if step 230is set to occur fifteen minutes prior to the scheduled event, then thetermination timer can be set to fifteen minutes.

The termination enforcement handler can send the terminationnotification to the affected participants at a defined notificationfrequency in step 250. If the termination timer expires, step 255 can beperformed where the sessions of the affected participants can beterminated.

FIG. 3 is a flow chart of a method 300 describing the use of corporatehierarchy data by a termination enforcement handler in accordance withembodiments of the inventive arrangements disclosed herein. Method 300can represent a specific embodiment of method 100.

Method 300 can begin in step 305 where the termination enforcementhandler can detect an operating condition within the UT environment thatrequires the quantity of participants to be reduced. For example, theunified telephony environment can be experiencing a heavy load or areduction in available bandwidth that requires session participants tobe terminated in order to meet quality of service or performance levels.

The handling rules applicable to the detected condition can beascertained in step 310. In step 315, a list of all session participantscan be compiled. It should be noted that, in this example, the listcompiled in step 315 can contain the participants of all sessionscurrently active in the unified telephony environment, regardless oftype.

The compiled participant list can be cross-references with a corporatedirectory in step 320. In step 325, the listed participants can bearranged according to the corporate hierarchy presented in the corporatedirectory.

Using the arranged list, handling rules and moderator preferences,participants can be identified for termination in step 330. Step 330 caninclude various algorithms for resolving instances where handling rulesand moderator preferences conflict.

For example, a general handling rule can exist stating that participantsdenoted as “Team Member” are terminated before those marked as“Supervisor”. However, in a particular online meeting, the moderator canhave identified certain participants as immune from termination (i.e.,participants absolutely required in attendance). As such, a “Supervisor”participant not identified by the moderator as immune would beterminated, while a “Team Member” participant identified as immune wouldnot.

In step 335, the time limit for termination and the notificationfrequency can be determined. The termination timer for the determinedtime limit can be started in step 340. In step 345, the terminationnotification can be generated.

The termination notification can then be sent to the identifiedparticipant according to the notification frequency in step 350. In step355, the connection of the identified participants can be terminated,responsive to the termination timer expiring.

FIG. 4 is a flow chart of a method 400 describing the enforcement ofmoderator-initiated termination of participants from a real-timecommunication session in a unified telephony environment by thetermination enforcement handler in accordance with embodiments of theinventive arrangements disclosed herein. Method 400 can represent aspecific embodiment of method 100.

Method 400 can begin in step 405 where the termination enforcementhandler can receive a request for the termination of selectedparticipants from the real-time communication session from the sessionmoderator or initiator. It can be determined if the support of the otherparticipants is required to enact the termination in step 410.

Should participant support be required, step 415 can execute where thetermination enforcement handler can poll the other participants of thereal-time communication session for their support of themoderator-initiated termination. The poll results can then be analyzedin step 420.

In step 425, it can be determined if the moderator-initiated terminationis supported. This determination can utilize a variety of approaches,such as majority rules, vote weighting based upon corporate hierarchy,and so on. If the termination of the selected participants is notsupported, the moderator can be notified of the rejection in step 430.

If the termination is supported or if the support of the otherparticipants is not required for termination, step 435 can execute wherethe notification frequency can be determined using the time limitselected by the moderator. The termination timer for the selected timelimit can be started in step 440.

In step 445, the termination notification can be generated. Thetermination notification can then be sent to the affected participantsaccording to the notification frequency in step 450. In step 455, theconnection of the affected participants can be terminated, response tothe termination timer expiring.

FIG. 5 is a schematic diagram illustrating a system 500 implementing theenforcement of user-defined session 535 terminations in a unifiedtelephony system 525 by a termination enforcement handler 545 inaccordance with embodiments of the inventive arrangements disclosedherein. System 200 can be configured to perform the steps of methods100, 200, 300, and/or 400.

In system 500, users 505 and a moderator 515 can interact with eachother in a real-time communication session 535 of a unified telephonysystem 525 over a network 585. The moderator 515 can represent adesignated user 505 who is in charge of or who initiated the real-timecommunication session 535.

Interaction between the users 505 and/or moderator 515 can be performedusing a user interface 512 of the unified telephony system 525 runningon a client device 510 and 520. The client device 510 and 520 canrepresent a variety of computing devices capable of running the userinterface 512 and communicating with the unified telephony system 525over the network 585.

The user interface 512 can represent a graphical user interface (GUI) inwhich the users 505 and/or moderator 515 can perform actions appropriatefor the type of real-time communication session 535.

The unified telephony system 525 can represent the hardware and/orsoftware components required to support the various types of real-timecommunication sessions 535. The unified telephony system 525 can includecommunication servers 530, a termination enforcement handler 540, and adata store 555 containing a termination specification 560.

The communication servers 530 can represent the hardware and/or softwarecomponents that support the data exchanges for the specific type ofreal-time communication session 535 being performed. For example, atelephony server 530 can handle telephone communications, whereas aninstant messaging server 530 would handle instant messagingcommunications.

Each phone call, instant messaging exchange, or online meeting can berepresented as a real-time communication session 535 by thecorresponding communication server 530. A real-time communicationsession 535 can be configured to include moderator preferences 537.

The moderator preferences 537 can represent configurable parametersregarding termination priority for the users 505 participating in thereal-time communication session 535. As the name implies, theseparameters can be set by the moderator 515 at a time that the real-timecommunication session 535 is defined.

The termination enforcement handler 540 can represent the softwarecomponent of the unified telephony system 525 that enforces thetermination of users 505 and/or real-time communication sessions 535based upon the termination specification 560. The terminationspecification 560 can define termination conditions 565 and handlingrules 570.

The termination conditions 565 can define limits for operatingparameters of the unified telephony system 525 and/or user-specificcircumstances that, upon being met, require termination of user 505connections and/or entire real-time communication sessions 535. Valuesfor the user-specific circumstances can be obtained from the user data577 housed by various data systems 575.

For example, a termination condition 565 based upon schedule or calendarinformation can require accessing the user's 505 calendar data 577 thatis stored in the calendar system 575.

Termination conditions 565 can be defined in the user interface 512 byusers 505 having the appropriate security privileges and/oradministrators of the unified telephony system 525. Further, the scopeof the termination conditions 565 can vary in granularity.

The handling rules 570 can define attribute values and/or prioritiesthat affect the manner in which the termination of a user's 505connection or a real-time communication session 535 is conducted on ageneral basis. Handling rules 570 can be similar to moderatorpreferences 537; handling rules 570 can apply to the entire unifiedtelephony system 525, whereas moderator preferences 537 can apply toonly a single instance of a real-time communication session 535.

Like termination conditions 565, the handling rules 570 can requirevalues of user data 577 from other data systems 575. For example, if ahandling rule 570 is based upon an employee categorization, then theemployee categorization data 577 for the participating users 505 can beaccessed from the appropriate data system 575, such as a human resourcessystem 575.

The termination enforcement handler 540 can include an environmentmonitor 545 and a termination manager 550. The environment monitor 545can represent the element of the termination enforcement handler 540that keeps track of the operating environment of the unified telephonysystem 525 with respect to the termination conditions 565.

For example, if a termination condition 565 is based upon the serverload of the instant messaging server 530, then the environment monitor545 would monitor the corresponding environmental variables in order toevaluate the termination condition 565.

The termination manager 550 can represent the software component of thetermination enforcement handler 540 that handles generates and sendstermination notifications 580 to the users 505 who are going to bedisconnected from their real-time communication session 535. Thetermination notification 580 can represent a message that informs thereceiving user 505 of their impending termination from the real-timecommunication session 535.

The format of the termination notification 580 can correspond to thetype of real-time communication session 535 (i.e., an instant messagefor an instant messaging session, an audio message for a telephonesession). Adjustments to the handling of termination notifications 580can be included as part of the moderator preferences 537 and/or handlingrules 570.

For example, users 505 participating in an online meeting that utilizesaudio and graphics can receive termination notifications 580 in audioand/or textual formats.

Network 585 can include any hardware/software/and firmware necessary toconvey data encoded within carrier waves. Data can be contained withinanalog or digital signals and conveyed though data or voice channels.Network 585 can include local components and data pathways necessary forcommunications to be exchanged among computing device components andbetween integrated device components and peripheral devices. Network 585can also include network equipment, such as routers, data lines, hubs,and intermediary servers which together form a data network, such as theInternet. Network 585 can also include circuit-based communicationcomponents and mobile communication components, such as telephonyswitches, modems, cellular communication towers, and the like. Network585 can include line based and/or wireless communication pathways.

As used herein, presented data store 555 can be a physical or virtualstorage space configured to store digital information. Data store 555can be physically implemented within any type of hardware including, butnot limited to, a magnetic disk, an optical disk, a semiconductormemory, a digitally encoded plastic memory, a holographic memory, or anyother recording medium. Data store 555 can be stand-alone storage unitsas well as a storage unit formed from a plurality of physical devices.Additionally, information can be stored within data store 555 in avariety of manners. For example, information can be stored within adatabase structure or can be stored within one or more files of a filestorage system, where each file may or may not be indexed forinformation searching purposes. Further, data store 555 can utilize oneor more encryption mechanisms to protect stored information fromunauthorized access.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof code, which comprises one or more executable instructions forimplementing the specified logical function(s). It should also be notedthat, in some alternative implementations, the functions noted in theblock may occur out of the order noted in the figures. For example, twoblocks shown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flowchart illustration, andcombinations of blocks in the block diagrams and/or flowchartillustration, can be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or combinations ofspecial purpose hardware and computer instructions.

1. A method comprising: identifying of at least one terminationcondition applicable to a real-time communication session hosted by aunified telephony system by a termination enforcement handler, whereinthe at least one termination condition defines a limit for anoperational variable for at least one of the unified telephony systemand the real-time communication session; evaluating the at least onetermination condition; in response to at least one termination conditionbeing satisfied, determining at least one participant of the real-timecommunication session to disconnect from the real-time communicationsession based upon at least one of handling rules associated with the atleast one termination condition and termination preferences associatedwith the real-time communication session, wherein the terminationpreferences are defined by an initiating entity of the real-timecommunication session; notifying the at least one participant of thereal-time communication session of a termination of their connection tothe real-time communication session in a predefined time limit; and inresponse to the predefined time limit being reached, automaticallyterminating the connection of the at least one participant to thereal-time communication session.
 2. The method of claim 1, wherein theevaluating of the at least one termination condition further comprises:ascertaining a need for data from an auxiliary data system to representthe operational variable of a corresponding termination condition; andrequesting said data from the auxiliary data system for participants ofthe real- time communication session.
 3. The method of claim 2, whereinthe data comprises at least one of calendar data, corporate directorydata, personnel data, and project scheduling data.
 4. The method ofclaim 1, wherein the operational variable expressed by the at least onetermination condition comprises at least one of a quality of servicelevel, a performance level of the unified telephony system, a bandwidthavailability, a quantity of participants for the real-time communicationsession, a total quantity of real-time communication sessions in theunified telephony system, a total quantity of a specific type ofreal-time communication sessions, a server load, and a maintenanceschedule for resources of the unified telephony system.
 5. The method ofclaim 1, wherein the determining at least one participant to disconnectfurther comprises: ascertaining a need for data pertaining toparticipants of the real-time communication session from an auxiliarydata system; requesting said data from the auxiliary data system;arranging a list of the participants in a termination order based uponthe data received from the auxiliary data system and applicable handlingrules and termination preferences, wherein the termination orderexpresses a preference in which the participants are to be terminatedfrom the real-time communication session; and selecting the at least oneparticipant to disconnect from the arranged list according to thetermination order.
 6. The method of claim 5, wherein arranging of thelist further comprises: identifying participants immune to disconnectionfrom the real-time communication session, wherein said immunity isdefined in at least one of a handling rule or a termination preference;and removing the identified participants from the list.
 7. The method ofclaim 1, wherein notifying the at least one participant of terminationfurther comprises: generating a termination notification for the atleast one participant; determining a notification frequency for thetermination notification to the at least one participant based upon atleast one of handling rules and termination preferences; initiating atermination timer expressing the predefined time limit; and sending thetermination notification to the at least one participant according to atime indicated on the termination timer and the notification frequency.8. The method of claim 7, wherein a format of the terminationnotification is based upon media types supported by the real-timecommunication session, handling rules, and termination preferences. 9.The method of claim 1, further comprising: in response to the at leastone termination condition being unsatisfied, monitoring a value of theoperational variable of the at least one termination condition; inresponse to a change in the value being detected, capturing the changedvalue; and re-executing the evaluation of the at least one terminationcondition.
 10. The method of claim 1, wherein, upon the initiatingentity of the real-time communication session manually invokingtermination of the at least one participant by the terminationenforcement handler, said method further comprising: determining a needfor support from other participants of the real-time communicationsession to terminate at least one participant selected by the initiatingentity from the real-time communication session, wherein the otherparticipants excludes the at least one participant selected by theinitiating entity; upon a determination that support is needed, pollingthe other participants for their support; analyzing results of thepolling; and in response to the results of the polling indicatingsupport for termination of the at least one participant selected by theinitiating entity, executing the notification and termination of the atleast one selected participant.
 11. The method of claim 10, furthercomprising: in response to the results of the polling being to rejecttermination of the at least one selected participant, informing theinitiating entity of said rejection.
 12. A system comprising: a unifiedtelephony system providing a plurality of real-time communicationsessions between a plurality of participants; a terminationspecification defining termination of at least one of an entire real-time communication session and at least one participant of a real-timecommunication session, wherein said termination is based upon auser-defined limit of an operating state of the unified telephonysystem; and a termination enforcement handler configured to perform thetermination as defined in the termination specification, whereinparticipants affected by the termination are provided a predeterminedamount of time prior to the termination.
 13. The system of claim 12,wherein the termination specification further comprises: a plurality oftermination conditions wherein each termination condition defines alimit for an operational variable for at least one of the unifiedtelephony system and a real-time communication session; a plurality ofhandling rules each associated with at least one termination condition,wherein a handling rule defines how the termination is performed by thetermination enforcement handler; and a plurality of terminationpreferences associated with a specific real-time communication sessionthat express a prioritization for participants of the real-timecommunication session with respect to termination from the real-timecommunication session, wherein said termination preferences are definedby an initiating entity of the real-time communication session.
 14. Thesystem of claim 12, wherein the termination enforcement handler furthercomprises: a environment monitor configured to monitor the operatingstate of the unified telephony system for changes affecting evaluationof the termination specification; and a termination manager configurednotify participants of the termination within the predetermined amountof time, wherein said notification occurs in accordance with anotification frequency within the predetermined amount of time.
 15. Thesystem of claim 12, wherein a real-time communication sessions comprisesat least one of a telephony session, an instant messaging session, achat room session, an online meeting, an online collaboration session,and a video conference.
 16. A computer program product comprising acomputer readable storage medium having computer usable program codeembodied therewith, the computer usable program code comprising:computer usable program code configured to identify at least onetermination condition applicable to a real-time communication sessionhosted by a unified telephony system, wherein the at least onetermination condition defines a limit for an operational variable for atleast one of the unified telephony system and the real-timecommunication session; computer usable program code configured toevaluate the at least one termination condition; computer usable programcode configured to, in response to at least one termination conditionbeing satisfied, determine at least one participant of the real-timecommunication session to disconnect from the real-time communicationsession based upon at least one of handling rules associated with the atleast one termination condition and termination preferences associatedwith the real-time communication session, wherein the terminationpreferences are defined by an initiating entity of the real-timecommunication session; computer usable program code configured to notifythe at least one participant of the real-time communication session of atermination of their connection to the real-time communication sessionin a predefined time limit; and computer usable program code configuredto, in response to the predefined time limit being reached,automatically terminate the connection of the at least one participantto the real-time communication session.
 17. The computer program productof claim 16, wherein the evaluating of the at least one terminationcondition further comprises: computer usable program code configured toascertain a need for data from an auxiliary data system to represent theoperational variable of a corresponding termination condition; andcomputer usable program code configured to request said data from theauxiliary data system for participants of the real-time communicationsession.
 18. The computer program product of claim 16, wherein thedetermining at least one participant to disconnect further comprises:computer usable program code configured to ascertain a need for datapertaining to participants of the real-time communication session froman auxiliary data system; computer usable program code configured torequest said data from the auxiliary data system; computer usableprogram code configured to arrange a list of the participants in atermination order based upon the data received from the auxiliary datasystem and applicable handling rules and termination preferences,wherein the termination order expresses a preference in which theparticipants are to be terminated from the real-time communicationsession; and computer usable program code configured to select the atleast one participant to disconnect from the arranged list according tothe termination order.
 19. The computer program product of claim 16,wherein notifying the at least one participant of termination furthercomprising: computer usable program code configured to generate atermination notification for the at least one participant; computerusable program code configured to determine a notification frequency forthe termination notification to the at least one participant based uponat least one of handling rules and termination preferences; computerusable program code configured to initiate a termination timerexpressing the predefined time limit; and computer usable program codeconfigured to send the termination notification to the at least oneparticipant according to a time indicated on the termination timer andthe notification frequency.
 20. The computer program product of claim16, further comprising: computer usable program code configured to, ifthe at least one termination condition is unsatisfied, monitor a valueof the operational variable of the at least one termination condition;computer usable program code configured to, if a change in the value isdetected, capture the changed value; and computer usable program codeconfigured to re-execute the evaluation of the at least one terminationcondition.
 21. The computer program product of claim 16, wherein theoperational variable expressed by the at least one termination conditioncomprises at least one of a quality of service level, a performancelevel of the unified telephony system, a bandwidth availability, aquantity of participants for the real-time communication session, atotal quantity of real-time communication sessions in the unifiedtelephony system, a total quantity of a specific type of real-timecommunication sessions, a server load, and a maintenance schedule forresources of the unified telephony system.
 22. The computer programproduct of claim 19, wherein arranging of the list further comprises:computer usable program code configured to identify participants immuneto disconnection from the real-time communication session, wherein saidimmunity is defined in at least one of a handling rule or a terminationpreference; and computer usable program code configured to remove theidentified participants from the list.
 23. The computer program productof claim 16, wherein notifying the at least one participant oftermination further comprises: computer usable program code configuredto generate a termination notification for the at least one participant;computer usable program code configured to determine a notificationfrequency for the termination notification to the at least oneparticipant based upon at least one of handling rules and terminationpreferences; computer usable program code configured to initiate atermination timer expressing the predefined time limit; and computerusable program code configured to send the termination notification tothe at least one participant according to a time indicated on thetermination timer and the notification frequency.
 24. The computerprogram product of claim 23, wherein a format of the terminationnotification is based upon media types supported by the real-timecommunication session, handling rules, and termination preferences. 25.A system comprising: a unified telephony system providing a plurality ofreal-time communication sessions between a plurality of participants; ameans for evaluating termination conditions in accordance withtermination specifications, each of the termination specificationsdefining termination of at least one of an entire real-timecommunication session and at least one participant of a real-timecommunication session, wherein said termination is based upon auser-defined limit of an operating state of the unified telephonysystem; and a means for determining participants of one of the real-timecommunication sessions to disconnect based upon handling rulesassociated with the termination conditions and termination preferencesassociated with the real-time communication sessions, wherein thetermination preferences are defined by an initiating entity of thereal-time communication sessions. a termination enforcement handlerconfigured to perform termination of sessions as defined in thetermination specifications and based upon the handling rules andtermination preferences, wherein participants affected by terminationare provided a predetermined amount of time prior to being terminated.